﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kokomo.Lexical.Expressions;

namespace Kokomo.PeInspector.Reflection.Query
{
	class QueryStep : QuerySource
	{
		public QuerySource Source { get; private set; }

		public QueryStep(
			QuerySource source
			)
			:
			this(source, source.Projection, source.RangeVariables)
		{
		}
		public QueryStep(
			QuerySource source,
			Expression projection,
			IEnumerable<TypedVariable> rangeVariables
			)
			: base(projection, rangeVariables)
		{
			if (source == null) throw new ArgumentNullException("source");

			this.Source = source;
		}
	}
}
